МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ“ЛЬВІВСЬКА ПОЛІТЕХНІКА”
КАФЕДРА АВТОМАТИКИ ТА ТЕЛЕМЕХАНІКИ
про виконання лабораторної роботи №3
З курсу: “Алгоритмічні мови та програмування”
на тему:
Варіант-23
Львів-2006р.
Мета роботи – вивчити оператори мови Сі та основні функції введення-виведення даних, навчитися складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.
ЗАВДАННЯ:
Намалювати блок-схему алгоритму та скласти програму мовою Сі, яка б табулювала функцію, представлену рядом на інтервалі [a, b] з кроком табуляції h та абсолютною похибкою d:
№ п/п
Функція
Інтервал, [a, b]
Крок, h
Похибка, d
23
[0, 0.2]
0.02
0.001
Список ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення:
x – змінна, значення якої циклічно змінюється;
b – змінна, значення якої відповідає кінцю інтервала;
h – змінна, значення якої відповідає кроку в циклі по переміщенні в інтервалі;
y – змінна, якій присвоюється значення виразу;
suma - змінна, якій присвоюється значення ряду при сталій x;
n – змінна, яка циклічно зростає при кожній сталій x;
__________________________________________________________________
main( ) – головна функція програми;
scanf ( ) – функція вводу даних;
printf ( ) – функція виводу даних;
pow(x,y) – функція обчислення х в степені у.
Блок-схема алгоритму:
Остаточна версія програми:
#include<stdio.h>
#include<math.h>
void main (void)
{int n=1,k=1;
double suma,b,x,h,d,y;
printf("Vveditj pochatok promizhku:\n begin=");scanf("%lf",&x);
printf("Vveditj kinecj promizhku:\n end=");scanf("%lf",&b);
printf("Vveditj krok:\n step=");scanf("%lf",&h);
printf("Vveditj poxybku:\n poxybka=");scanf("%lf",&d);
while(x<=b)
{y=d+1;n=1;k=1;suma=0;
while(fabs(y)>d)
{
k*=(2*n-1);
y=(pow(x,2*n)-1)/k;
n++;
suma+=y;
}
printf("zminna=%lf, Suma=%lf, y=%lf, n=%d \n",x,suma,fabs(y),n);
x+=h;
}}
Результати роботи програми:
Vveditj pochatok promizhku:
begin=0
Vveditj kinecj promizhku:
end=0.2
Vveditj krok:
step=0.02
Vveditj poxybku:
poxybka=0.001
zminna=0.000000, suma=-1.410678, y=0.000096, n=7
zminna=0.020000, suma=-1.410278, y=0.000096, n=7
zminna=0.040000, suma=-1.409077, y=0.000096, n=7
zminna=0.060000, suma=-1.407074, y=0.000096, n=7
zminna=0.080000, suma=-1.404265, y=0.000096, n=7
zminna=0.010000, suma=-1.400645, y=0.000096, n=7
zminna=0.120000, suma=-1.396209, y=0.000096, n=7
zminna=0.140000, suma=-1.390950, y=0.000096, n=7
zminna=0.160000, suma=-1.384859, y=0.000096, n=7
zminna=0.180000, suma=-1.377926, y=0.000096, n=7
zminna=0.200000, suma=-1.370141, y=0.000096, n=7
Висновок: ми вивчили оператори мови Сі та основні функції введення-виведення даних, навчилися складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.